package activity;

import utils.Utils;
import utils.Web;
import br.android.ecompras.R;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;

public class CadastroActivity extends Activity {

	EditText etNome;
	EditText etEmail;
	EditText etSenha;
	EditText etRepitaSenha;
	DatePicker dataDeNascimento;
	Button btnCadastrar;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.cadastrar_usuario);

		etNome = (EditText) findViewById(R.cadastrar.nome);
		etEmail = (EditText) findViewById(R.cadastrar.email);
		etRepitaSenha = (EditText) findViewById(R.cadastrar.repitaSenha);
		etSenha = (EditText) findViewById(R.cadastrar.senha);
		dataDeNascimento = (DatePicker) findViewById(R.cadastrar.dataDeNascimento);
		btnCadastrar = (Button) findViewById(R.cadastrar.btnConfirmarCadastro);

		btnCadastrar.setOnClickListener(new View.OnClickListener() {

			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				cadastrarUsuario();
			}
		});

	}

	private void cadastrarUsuario() {
		String nome = etNome.getText().toString();
		String email = etEmail.getText().toString();
		String senha = etSenha.getText().toString();
		String repitaSenha = etRepitaSenha.getText().toString();

		String campoNaoPreenchido = "Preencha os campos de\n";
		boolean erroNaoPreenchido = false;

		if (nome.equals("") || nome == null) {
			campoNaoPreenchido += "nome\n";
			erroNaoPreenchido = true;
		}
		if (email.equals("") || email == null) {
			campoNaoPreenchido += "email\n";
			erroNaoPreenchido = true;
		}
		if (senha.equals("") || nome == null) {
			campoNaoPreenchido += "senha\n";
			erroNaoPreenchido = true;
		}
		if (repitaSenha.equals("") || nome == null) {
			campoNaoPreenchido += "repetir a senha\n";
			erroNaoPreenchido = true;
		}

		if (!senha.equals(repitaSenha)) {
			Utils.showMessageDialog("Erro no cadastro",
					"Coloque as senhas iguais.", CadastroActivity.this);
		} else {
			if (erroNaoPreenchido == true) {
				Utils.showMessageDialog("Preencha todos os campos",
						campoNaoPreenchido, CadastroActivity.this);
			} else {
				String dn = dataDeNascimento.getYear() + "-"
						+ dataDeNascimento.getMonth() + "-"
						+ dataDeNascimento.getDayOfMonth();
				Log.d("Data de nascimento", dn);
				if (criarCadastroOnLine(nome, email, senha, dn)) {
					Utils.showMessageDialog("Confirmado",
							"Cadastro feito com sucesso!",
							CadastroActivity.this);
				} else {
					Utils.showMessageDialog("Erro",
							"Erro ao conectar com o servidor!",
							CadastroActivity.this);
				}
			}
		}
	}

	private boolean criarCadastroOnLine(String nome, String email,
			String senha, String dataDeNascimento) {
		Web web = new Web();
		return web.cadastrarUsuario(nome, email, senha, dataDeNascimento);
	}
}
